﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 练习01
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1.交换三个整形变量的值（按由小到大的顺序交换），并在Main方法中输出结果（通过方法实现）
            int a = 12;
            int b = 9;
            int c = 11;// b c a
            M1(ref a, ref b, ref c);
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.WriteLine(c);
            // 2.写一个方法，可以将数组a[0]-a[1]+a[2]-a[3]+a[4]...的格式返回结果，在Main方法中去调用该方法，并输出结果
            double d = M2(1, 2, 3, 4, 5);
            Console.WriteLine("d = " + d);
        }

        public static double M2(params int[] a)
        {
            double result = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (i % 2 == 0)
                {
                    result += a[i];
                }
                else
                {
                    result -= a[i];
                }
            }

            return result;
        }

        public static void M1(ref int x, ref int y, ref int z)
        {
            if (x > y)
            {
                int temp = x;
                x = y;
                y = temp;
            }
            if (x > z)
            {
                int temp = x;
                x = z;
                z = temp;
            }
            if (y > z)
            {
                int temp = y;
                y = z;
                z = temp;
            }
            //int[] a = { x, y, z };
            //// 趟数
            //for (int i = 0; i < a.Length - 1; i++)
            //{
            //    for (int j = 0; j < a.Length - 1 - i; j++)
            //    {
            //        if (a[j] > a[j + 1])
            //        {
            //            int temp = a[j];
            //            a[j] = a[j + 1];
            //            a[j + 1] = temp;
            //        }
            //    }
            //}
        }
    }
}
